A log file is a file that can be used to record events that occur in an operating system or application, including messages generated, computer services accessed, etc. In a multi-tenant environment, each tenant, e.g., a hosted application, a micro-service, etc., can generate log events for different log files so that each tenant may have one associated log file.
Logging services in a multi-tenant environment can present scalability and availability problems as the number of tenants increases. For example, if one tenant begins to consume excessive amounts of logging resources, either in terms of storage space for the logs or delivery performance for transmitting the logs to a consuming application, the logging services available to other tenants can appear to degrade or disappear.
This problem may be referred to as the “noisy neighbor” problem, in which logging services for one tenant are affected by a possibly completely unrelated tenant on the same platform. The noisy neighbor problem is particularly difficult in cloud application platforms in which users, rather than operators of the platform, drive how many tenants there are as well as the volume and frequency of logs that applications on the platform will emit.